﻿namespace _RobotInspection.DTO
{
    /// <summary>
    /// 关注事项DTO
    /// </summary>
    public class AttentionItemDto
    {
        /// <summary>
        /// 构造函数
        /// </summary>
        public AttentionItemDto()
        {

        }

        /// <summary>
        /// 点检记录ID
        /// </summary>
        public long RecordId { get; set; }

        /// <summary>
        /// 上报人ID
        /// </summary>
        public long UserId { get; set; }

        /// <summary>
        /// 异常名称
        /// </summary>
        public string AbnormalName { get; set; }

        /// <summary>
        /// 异常描述
        /// </summary>
        public string? AbnormalDescription { get; set; }
    }

    /// <summary>
    /// 分页关注事项DTO
    /// </summary>
    public class AttentionItemPagedDto
    {
        /// <summary>
        /// 构造函数
        /// </summary>
        public AttentionItemPagedDto()
        {

        }

        /// <summary>
        /// 机组名称
        /// </summary>
        public string? Unit { get; set; }

        /// <summary>
        /// 设备名称
        /// </summary>
        public string? EquipmentName { get; set; }

        /// <summary>
        /// 上报人ID
        /// </summary>
        public long? UserId { get; set; }

        /// <summary>
        /// 异常名称
        /// </summary>
        public string? AbnormalName { get; set; }

        /// <summary>
        /// 分页页码
        /// </summary>
        public int PageIndex { get; set; }

        /// <summary>
        /// 分页大小
        /// </summary>
        public int PageSize { get; set; }
    }

    /// <summary>
    /// 关注事项返回结果DTO
    /// </summary>
    public class AttentionItemResultDto
    {
        public AttentionItemResultDto()
        {

        }

        /// <summary>
        /// 关注事项ID
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 机组名称
        /// </summary>
        public string Unit { get; set; }

        /// <summary>
        /// 设备名称
        /// </summary>
        public string EquipmentName { get; set; }

        /// <summary>
        /// 上报人ID
        /// </summary>
        public string ReporterRealName { get; set; }

        /// <summary>
        /// 异常名称
        /// </summary>
        public string AbnormalName { get; set; }

        /// <summary>
        /// 异常描述
        /// </summary>
        public string? AbnormalDescription { get; set; }

        /// <summary>
        /// 上报时间
        /// </summary>
        public DateTime ReportedAt { get; set; }
    }

    /// <summary>
    /// 分页关注事项返回结果DTO
    /// </summary>
    public class AttentionItemPagedResultDto
    {
        public AttentionItemPagedResultDto()
        {

        }

        /// <summary>
        /// 返回关注事项内容
        /// </summary>
        public List<AttentionItemResultDto> AttentionItemResultList { get; set; } = [];

        /// <summary>
        /// 总记录数
        /// </summary>
        public int TotalCount { get; set; }

        /// <summary>
        /// 总页数
        /// </summary>
        public int TotalPages { get; set; }

        /// <summary>
        /// 当前页码
        /// </summary>
        public int CurrentPage { get; set; }

        /// <summary>
        /// 分页大小
        /// </summary>
        public int PageSize { get; set; }

        /// <summary>
        /// 是否有上一页
        /// </summary>
        public bool HasPreviousPage { get; set; }

        /// <summary>
        /// 是否有下一页
        /// </summary>
        public bool HasNextPage { get; set; }
    }
}
